<?php
namespace app\admin\controller;

use think\Controller;
use think\Db;
use app\model\SystemMenu;

/**
 * 菜单
 */
class Menu extends Basic
{

    // 初始化
    public function _initialize()
    {
        parent::_initialize();
        $this->SystemMenu = new \app\admin\model\SystemMenu();
    }

    /*
 * 添加
 */
    public function index()
    {
        $data = input('post.');
        if (!isset($data['token'])) {
            json_fail(data('-5', 'token不能为空!'));
        }
        if ($data['token'] == encryption(config('token'))) {
            $list =  $this->SystemMenu ->index();
            if ($list) {
                //获取树形结构数据
                $info = menuTree($list,0);
                json_success($info);
            } else {
                json_success([]);
            }
        } else {
            json_fail(data('-3', 'token验证错误!'));
        }
    }

    /*
   * 添加
   */
    public function add()
    {
        //实例化数据库
        $data = input('post.');
        if (!isset($data['token'])) {
            json_fail(data('-5', 'token不能为空!'));
        }
        if (!isset($data['name'])) {
            json_fail(data('-8', '菜单名不能为空!'));
        }
        $status =  $this->SystemMenu ->isTrue($data);
        if ($status) {
            json_fail(data('-1', '菜单名已存在!'));
        }
        if ($data['token'] == encryption(config('token'))) {
            if (!empty($data)) {
                $id =  $this->SystemMenu ->add($data);
                if (!$id) {
                    json_fail(data('-1', '添加失败'));
                } else {
                    json_success($id);
                }
            } else {
                json_fail(data('-2', '添加数据不能为空'));
            }
        } else {
            json_fail(data('-3', 'token验证错误!'));
        }
    }
    /*
     * 修改
     */
    public function edit()
    {
        //实例化数据库
        $data = input('post.');
        if (!isset($data['token'])) {
            json_fail(data('-5', 'token不能为空!'));
        }
        $status =  $this->SystemMenu ->isTrue($data);
        if ($status) {
            json_fail(data('-1', '用户名已存在!'));
        }
        if ($data['token'] == encryption(config('token'))) {
            if (!empty($data)){
                $id =  $this->SystemMenu ->edit($data);
//                dd($id);
                if (!$id) {
                    json_fail(data('-1', '修改失败'));
                } else {
                    json_success(data('1', '修改成功'));
                }
            } else {
                json_fail(data('-2', '数据不能为空'));
            }
        } else {
            json_fail(data('-3', 'token验证错误!'));
        }
    }
    /*
 * 删除
 */
    public function del()
    {
        //实例化数据库
        $data = input('post.');
        if (!isset($data['token'])) {
            json_fail(data('-5', 'token不能为空!'));
        }
        if ($data['token'] == encryption(config('token'))) {
            if (!empty($data)) {
                $data['status']=0;
                $id =  $this->SystemMenu ->edit($data);
                if (!$id) {
                    json_fail(data('-1', '删除失败'));
                } else {
                    json_success(data('1', '删除成功'));
                }
            } else {
                json_fail(data('-2', '数据不能为空'));
            }
        } else {
            json_fail(data('-3', 'token验证错误!'));
        }
    }


}